package com.atguigu.eduservice.client;

import com.atguigu.commonutils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;

@FeignClient(name="service-vod",fallback = VodFileDegradeFeignClient.class)
//这里的注解必须指明调用哪个模块,这里的fallback里的值表示如果调用其他模块失败后该去执行这个接口的实现类
@Component//将该接口放入ioc容器
public interface VodClient {
    //定义调用的方法路径
    @DeleteMapping("/eduvod/video/removeAlyVideo/{id}")//这里由于是调用其他模块中的方法所以路径需要写全
    public R removeAlyVideo(@PathVariable("id") String id);//注意@PathVariable中必须添加参数名称

    //删除多个阿里云视频的方法,参数是多个id即用list集合
    @DeleteMapping("/eduvod/video/delete-batch")
    public R deleteBatch(@RequestParam("videoIdList") List<String> videoIdList);
}
